FIG. 1 is a functional block diagram of a conventional disk drive 100 having a crystal oscillator circuit 108 that provides an asynchronous write clock. Disk drive 100 includes a disk 101, a spindle motor 102 for rotating the disk, a spindle controller 103, a head 104 for reading or writing, an actuator 105 for moving the head across the disk, read/write and servo processing circuit 106, a data channel 107, and an oscillator circuit 108. Disk drive 100 is typically a banded recording or zoned bit recording (ZBR) disk drive with a sector servo architecture, as shown by disk 101 with annular data bands 109 and equally angularly spaced servo sectors, such as typical servo sectors 111, extending across the data bands. In ZBR the data tracks are grouped into zones or annular bands based on their distance from the center of the disk, and each zone is assigned a number of data sectors per track. This allows for more efficient use of the larger tracks on the outside of the disk. Data is read and written at a fixed frequency within a band, but the read and write frequency varies from band to band. This is because the outer bands contain more data, but the angular velocity of the disk is constant regardless of which band or which track in a band is being read from or written to.
Crystal oscillator circuit 108 derives the write clock frequency used for disk drive 100 from a frequency synthesizer that has an input reference clock signal having a fixed crystal frequency and is adjustable for different data bands 109 on disk 101. To read information from disk 101, a read reference clock is locked to the recorded transition spacing in a data preamble field stored on disk 101. When the read reference clock has locked to the preamble transition spacing, user data bits that follow are synchronized with the reference clock. The reference clock and synchronized data are then applied to the channel data decoder (not shown) of channel 107.
Because the data preamble field controls the read clock, user data may only be read back when the data preamble field has not been corrupted. An error correcting code (ECC) only protects data when synchronization has been achieved and is maintained for only the data sectors. An ECC does not protect the data preamble. Moreover, synchronization fields add to the data format overhead, thereby reducing disk drive capacity.
IBM's U.S. Pat. No. 5,535,067 discloses a disk drive write clock generator circuit that is synchronized to the rotation of the disk. A relatively low frequency reference signal having short duration pulses, such as a dedicated servo pattern, a sector servo pattern, an index pattern or a spindle pulse, is used for generating a synchronous high-frequency write clock. The high-frequency write clock signal has a predetermined number of cycles for each reference period. A counter coupled to the output of the clock counts the number of clock cycles generated for each reference period and compares the count to an expected number corresponding to a desired clock frequency. When the compared numbers are different, an error signal is generated that is used for adjusting the write signal frequency.
A re-synchronization technique that compensates for the variable speed of a disk motor to thereby remove tolerance buildup at fixed positions around the disk is disclosed by J. R. Pollock, “Method to Overcome the Problems of using Fixed Frequency Oscillator to Write Variable Length Data on DASD”, IBM Technical Disclosure Bulletin, Vol. 38, No.4, April 1995, 283. According to Pollock, a sector servo system generates a reference signal at each sector that is synchronized to the disk surface and provides an absolute reference signal for restarting a read/write operation, which allows the fixed frequency oscillator to clock the write data. During a write operation, a controller determines the current nominal position of the data being written on the disk. When the controller determines that one of the resynchronization areas is about to be reached, the read/write operation is suspended to space over the re-synchronization gap. The start of the read/write operation is resynchronized to the reference signal, thereby compensating for any accumulated error caused by variation in the speed of the disk. However, the re-synchronization region provides a start indication, not a clock that is synchronous with servo.
A disk drive that uses clock marks in the servo sectors to control the data read and write clock is described by H. Yada, “Clock Jitter in a Servo-Derived Clocking Scheme for Magnetic Disk Drives”, IEEE Transactions on Magnetics, Vol. 32, No. 4, July 1996, 3283-3290. In that system, no means are provided for altering the read/write data frequency with respect to the clock mark read-back pulse frequency, or for data recovery in the presence of errors in the clock marks.
Nevertheless, what is needed is a system that synchronizes write and read clocks to an independent fixed frequency to avoid data read errors that are caused when the data preamble is corrupted, and that is operable in a banded recording disk drive that use multiple read and write frequencies.